\begin{tikzpicture}[->,>=stealth',shorten >=1pt,auto,node distance=5em,semithick]
    \tikzstyle{every state}=[text=black]
    \tikzset{nearnodes/.style={node distance=2em}}

    \node[state] (A) {A};
    \node[state] (B) at(5em,2.5em) {B};
    \node[state] (C) at(5em,-2.5em) {C};
    \node[state] (D) [right of=B] {D};
    \node[state] (E) [right of=C] {E};

    \node[nearnodes] (+A) [left of=A] {+};
    \node[nearnodes] (-D) [right of=D] {-};
    \node[nearnodes] (-C) [below right of=C] {-}; 
    \node[nearnodes] (-E) [below right of=E] {-}; 

    \path (A) edge node {$a$} (B); 
    \path (B) edge node {$b$} (D);
    \path (A) edge node {$b$} (C); 
    \path (C) edge node {$c$} (E); 
    \path (B) edge [loop above] node {$a$} (B);
    \path (E) edge [loop below] node {$c$} (E);
    \draw (7.5em,-2.5em) circle [x radius=4em,y radius=3em]; %X色
\end{tikzpicture}